package www.wen.com.common.lib.extension

import com.google.gson.Gson
import java.util.regex.Pattern

/**
 * @author WEN
 * @Description:
 * @date 2021/9/10 16:06
 */


inline fun String.condition(
        condition: () -> Boolean,
        conform: ((String) -> Unit),
        incompatible: (() -> Unit),
): Boolean {
    val isPhone = condition.invoke()
    if (isPhone) {
        conform.invoke(this)
    } else {
        incompatible.invoke()
    }
    return isPhone
}


fun String.checkIsPassword(): Boolean {

    val en = Pattern.compile("[a-zA-Z]")
    if (!en.matcher(this).find()) {
        toast("密码至少需要一个英文字母")
        return false
    }

    val number = Pattern.compile("[0-9]")
    if (!number.matcher(this).find()) {
        toast("密码至少需要一个数字")
        return false
    }

    val blank = Pattern.compile("\\s+")
    if (blank.matcher(this).find()) {
        toast("密码不能有空格")
        return false
    }
    return true
}


fun String.checkHasLineFeed(): Boolean {
    return this.contains("\n") || this.contains("\r\n")
}

fun String.hexToDecimal() = Integer.valueOf(this,16)

fun String.hexToDecimalString() = Integer.valueOf(this,16).toString()

fun String.toJson() = Gson().toJson(this)
